package behavioral.observer.inJava;

import java.util.Observable;
import java.util.Observer;

/**
 * 观察者之间相互独立，不受影响
 * 可根据需要拉取主题信息
 */
public class ListenerA implements Observer {

    public ListenerA(Observable o) {
        o.addObserver(this);
    }

    @Override
    public void update(Observable o, Object arg) { // 事件通知
        Button btn = (Button) o;

        int x = btn.getX(); // 需要时，从主题中获取内容（拉）
        int y = btn.getY();
        System.out.println("按钮位置：{" + x + ", " + y +"}");

        Event event = (Event) arg;
        System.out.println("监听器A收到");
        System.out.println(event.msg);
    }
}
